#ifndef JAE_GLWIDGETTEST_H_INCLUDED
#define JAE_GLWIDGETTEST_H_INCLUDED

#include "glWidget.h"

/****************************************************//**
 * Project-Namespace
 ********************************************************/
namespace jae
{

/****************************************************//**
 * Beispielfensterklasse. Dies ist ein Beispielfenster
 * welches verwendet werden kann um zu testen, ob JAE,
 * QT und OpenGl korrekt installiert sind. Es einen einfachen
 * Viewer einer Scene mit einfacher Steuerung
 ********************************************************/
class GLWidgetTest : public GLWidget
{
Q_OBJECT

public:
    GLWidgetTest(SceneManager *aSceneManager, QGLWidget* aParent = NULL);
    ~GLWidgetTest();

protected:
    void mousePressEvent(QMouseEvent *aEvent);
    void mouseMoveEvent(QMouseEvent *aEvent);
    void wheelEvent(QWheelEvent *aEvent);
    void resizeEvent(QResizeEvent * aEvent);
    void keyPressEvent(QKeyEvent * aEvent);
    void keyReleaseEvent (QKeyEvent* aEvent);
    void paintGLEvent ();

private:
    Object* _pToonCar;
    Node* _pToonCarNode;
    
    float _cameraMoveSpeed, _carSpeed;
    QPoint _lastMousePos;
    QPushButton *_pQuitButton;
    GLWidget* _pSplitScreen;
    GLWidget* _pSelectedWidget;
    
    bool _pressedW, _pressedS, _pressedA, _pressedD, 
         _pressedShift, _pressedControl, _pressedUp,
         _pressedDown, _pressedLeft, _pressedRight;
  };
  
} //namespace jae

#endif // JAE_GLWIDGETTEST_H_INCLUDED
